<script setup>

import {ref} from 'vue'
import pageofficeCtrlUtil from "@/plugins/pageoffice/pageoffice-word-excel.js";
import pdfCtrlUtil from "@/plugins/pageoffice/pageoffice-pdf.js";
import PageOfficeFile from "@/components/PageOfficeFile/index.vue";

const poHtml = ref('')
let fileInfo = undefined
//组装控件所需的自定义按钮的参数,
// 数组的第一个元素： 按钮的标题（如果设置为 "-"，表示此按钮是分隔线）；第二个元素： 点击当前按钮时触发的 JavaScript 函数名；第一个元素： 按钮图标的索引；
//组装pdf控件所需的自定义按钮参数
const customButtonsForPDF = [
  ["打印", "printFile", 6],
  ["-", "", 0]
]
//组装PageOffice控件所需的自定义按钮参数
const customButtonsForPO = [
  ["打印", "printFile", 6],
  ["-", "", 0]
]
//控件所需挂载的js函数
const customJSFunctionsForPDF = {
  OnPDFCtrlInit: () => {
    // 添加自定义按钮
    pdfCtrlUtil.addCustomButtons(customButtonsForPDF)
  }
}
const customJSFunctions = {
  //控件初始化事件，函数名是指定的，不可修改，此处根据实际情况重写OnPageOfficeCtrlInit事件代码
  OnPageOfficeCtrlInit: () => {
    pageofficeCtrlUtil.addCustomButtons(customButtonsForPO)
  }
}

onMounted(() => {
  //获取pageoffice客户端传过来的参数
  fileInfo = pageofficectrl.WindowParams || pdfctrl.WindowParams
  if (fileInfo) {
    getFile(JSON.parse(fileInfo))
  }
})

function getFile(fileInfo) {
  poHtml.value = fileInfo.html
  //挂载PageOfficeCtrl 或 PDFCtrl控件需要调用的函数，例如控件触发的事件、自定义按钮触发的函数等。
  if (fileInfo.isPdf) {
    pdfCtrlUtil.jsFunctionMounted(customJSFunctionsForPDF, customButtonsForPDF)
  } else {
    pageofficeCtrlUtil.jsFunctionMounted(customJSFunctions, customButtonsForPO)
  }
}

</script>

<template>
  <PageOfficeFile :poHtml="poHtml"/>
</template>

